/*
//成员变量
维护两个栈 stack1 和 stack2，其中 stack1 支持插入操作，stack2 支持删除操作

//构造方法
初始化 stack1 和 stack2 为空

//插入元素
插入元素对应方法 appendTail
stack1 直接插入元素

//删除元素
删除元素对应方法 deleteHead

如果 stack2 为空，则将 stack1 里的所有元素弹出插入到 stack2 里
如果 stack2 仍为空，则返回 -1，否则从 stack2 弹出一个元素并返回*/

/**
 * Your CQueue object will be instantiated and called as such:
 * var obj = new CQueue()
 * obj.appendTail(value)
 * var param_2 = obj.deleteHead()
 */


var CQueue = function() {
	this.stack1 =[];        //删除栈
	this.stack2 =[];
}

CQueue.prototype.appendTail = function(value){
	this.stack1.push(value)
}

CQueue.prototype.deleteHead = function() {
	//stack2有值， 即1中元素倒置放入2中 pop即删除1中head
	if(this.stack2.length){
		return this.stack2.pop()
	}

	//1有值，弹出 存入2中 2再pop
	while(this.stack1.length){
		this.stack2.push(this.stack1.pop())
	}

	//若1为空，返回-1
	return this.stack2.length ? this.stack2.pop() : -1
}

